[IA64] introduce compile time option to disable optvfault.
authorIsaku Yamahata <yamahata@valinux.co.jp>
Mon, 25 Aug 2008 10:04:37 +0000 (19:04 +0900)
committerIsaku Yamahata <yamahata@valinux.co.jp>
Mon, 25 Aug 2008 10:04:37 +0000 (19:04 +0900)
Debugging optvfault path is extremely difficult because
it was run with psr.ic = 0.
Make it easy to differentiate the bug in optvfault path from
other normal execution path with psr.ic = 0 by introducing compile
time option to disable optvfault.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
xen/arch/ia64/Rules.mk
xen/arch/ia64/vmx/vmx_ivt.S

index dfdfb2a510db6782b4a1454863d9304eb9727742..2c59eb4a18c0454b5499287c00adbcde5f3541c5 100644 (file)
@@ -14,6 +14,7 @@ xen_ia64_pervcpu_vhpt ?= y
 xen_ia64_tlb_track     ?= y
 xen_ia64_tlb_track_cnt ?= n
 xen_ia64_tlbflush_clock        ?= y
+xen_ia64_disable_optvfault ?= n
 
 # Used only by linux/Makefile.
 AFLAGS_KERNEL  += -mconstant-gp -nostdinc $(CPPFLAGS)
@@ -67,6 +68,9 @@ CFLAGS += -DVHPT_ENABLED=1
 else
 CFLAGS += -DVHPT_ENABLED=0
 endif
+ifeq ($(xen_ia64_disable_optvfault),y)
+CFLAGS += -DCONFIG_XEN_IA64_DISABLE_OPTVFAULT
+endif
 
 LDFLAGS := -g
 
index 80d1882a1f5f5e1c66f613d6705b457909c79d15..65a6b39802a3417de7c64cb527e3effbb095ab44 100644 (file)
@@ -973,6 +973,7 @@ END(vmx_single_step_trap)
 ENTRY(vmx_virtualization_fault)
 //    VMX_DBG_FAULT(37)
     mov r31=pr
+#ifndef CONFIG_XEN_IA64_DISABLE_OPTVFAULT
     movl r30 = virtualization_fault_table
     mov r23=b0
     ;;
@@ -981,6 +982,7 @@ ENTRY(vmx_virtualization_fault)
     mov b0=r30
     br.sptk.many b0
     ;;
+#endif
 vmx_virtualization_fault_back:
     mov r19=37
     adds r16 = IA64_VCPU_CAUSE_OFFSET,r21